package com.fxu.jushuitan.dto.wms;

import lombok.*;

import java.util.List;

/**
 * 库存更新请求
 * @author fangxu
 * @since 2023-09-13
 * @version 1.0.0
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InventoryUploadReq {

    /**
     * 非必填
     * 分仓公司ID
     */
    private Integer wmsCoId;

    /**
     * 非必填
     * 盘点类型 :全量:check ;增量:adjust(默认adjust)
     */
    private String type;

    /**
     * 非必填
     * 是否自动确认，默认false，增量同步时只能传true
     */
    private Boolean isConfirm;

    /**
     * 必填
     * 外部单号，会在ERP判断重复，仅可用一次
     */
    @NonNull
    private String soId;

    /**
     * 必填
     * 仓库;主仓=1，销退仓=2， 进货仓=3，次品仓 = 4
     */
    @NonNull
    private Integer warehouse;

    /**
     * 非必填
     * 备注
     */
    private String remark;

    /**
     * 必填
     * 商品明细，最大50
     */
    @NonNull
    private List<Item> items;

    @Data
    @Builder
    public static class Item {
        /**
         * 必填
         * 商品编码
         */
        @NonNull
        private String skuId;

        /**
         * 必填
         * 数量
         */
        @NonNull
        private Integer qty;

        /**
         * 非必填
         * 批次号;批次号存在批次信息和有效期必填
         */
        private String batchId;

        /**
         * 非必填
         * 批次日期
         */
        private String producedDate;

        /**
         * 非必填
         * 有效期
         */
        private String expirationDate;
    }

}